﻿@mixin border-top-radius($radius) {
    border-top-left-radius: $radius;
    border-top-right-radius: $radius;
}

@mixin border-bottom-radius($radius) {
    border-bottom-right-radius: $radius;
    border-bottom-left-radius: $radius;
}

@mixin border-left-radius($radius) {
    border-top-left-radius: $radius;
    border-bottom-left-radius: $radius;
}

@mixin border-right-radius($radius) {
    border-top-right-radius: $radius;
    border-bottom-right-radius: $radius;
}

@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {
    $min: breakpoint-min($name, $breakpoints);

    @if $min {
        @media (min-width: $min) {
            @content;
        }
    }
    @else {
        @content;
    }
}

@mixin caret-down() {
    border-top: $caret-width solid;
    border-right: $caret-width solid transparent;
    border-bottom: 0;
    border-left: $caret-width solid transparent;
}

@mixin caret-up() {
    border-top: 0;
    border-right: $caret-width solid transparent;
    border-bottom: $caret-width solid;
    border-left: $caret-width solid transparent;
}

@mixin caret-right() {
    border-top: $caret-width solid transparent;
    border-right: 0;
    border-bottom: $caret-width solid transparent;
    border-left: $caret-width solid;
}

@mixin caret-left() {
    border-top: $caret-width solid transparent;
    border-right: $caret-width solid;
    border-bottom: $caret-width solid transparent;
}

@mixin caret($direction: down) {
    &::after {
        display: inline-block;
        margin-left: $caret-spacing;
        vertical-align: $caret-vertical-align;
        content: "";

        @if $direction == down {
            @include caret-down();
        }
        @else if $direction == up {
            @include caret-up();
        }
        @else if $direction == right {
            @include caret-right();
        }
    }

    @if $direction == left {
        &::after {
            display: none;
        }

        &::before {
            display: inline-block;
            margin-right: $caret-spacing;
            vertical-align: $caret-vertical-align;
            content: "";
            @include caret-left();
        }
    }

    &:empty::after {
        margin-left: 0;
    }
}

@mixin form-control-focus() {
    &.focus {
        color: $input-focus-color;
        background-color: $input-focus-bg;
        border-color: $input-focus-border-color;
        outline: 0;
        box-shadow: $input-focus-box-shadow;
    }
}